package controller;

import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Associado;
import dao.AssociadoDAO;

public class AddAssociadoLogic implements BusinessLogic{

	public void execute(HttpServletRequest req, HttpServletResponse res)
			throws Exception {
		
		System.out.println("AddAssociadoSimplesLogic: Executando... ");
		
		String fwd = req.getParameter("sucesso");

		try {
			AssociadoDAO dao = new AssociadoDAO();

			if (dao.existeEmail( req.getParameter("email") )) {
				req.setAttribute("erro", "Este Email ja esta cadastrado, favor informe outro!");
				fwd = req.getParameter("falha");
				System.out.println("Erro de email, redirecionando para "+ fwd +" com o erro:"+ req.getAttribute("erro") );

			} else if (dao.existeLogin( req.getParameter("login") )) {
				req.setAttribute("erro", "Este Login ja esta cadastrado, favor informe outro");
				fwd = req.getParameter("falha");
				System.out.println("Erro de email, redirecionando para "+ fwd +" com o erro:"+ req.getAttribute("erro") );
			
			} else {	
				Associado associado = new Associado();
				
				associado.setNome( req.getParameter("nome") );
				associado.setLogin( req.getParameter("login") );
				associado.setEmail( req.getParameter("email") );
				associado.setSenha( req.getParameter("senha") );
				associado.setCpf( req.getParameter("cpf") );
				associado.setTelefone( req.getParameter("telefone") );
				associado.setEndereco( req.getParameter("endereco") );
				
				dao.adiciona(associado);

				System.out.println("Associado Inluido !");
			}
				
		}catch(SQLException e) {
			throw new ServletException(e);			
		}
		
		
		RequestDispatcher rd = req.getRequestDispatcher("/"+fwd);
		rd.forward(req, res);
		System.out.print(" ...OK");		
	}
}
